# 创建对象和使用对象的格式
# 对象名 = 类名(参数列表...)
# 对象调用方法的格式：
# 对象名.方法名(参数列表)注意：方法中参数列表的第一个参数self，不需要手动传递，这个参数是由解释器在执行程序时，自动传递的，默认会将当前调用方法的对象引用传递进去
# 抽象一个类
class Person(object):

    # 重要方法 初始化 该方法会在创建对象时自动调用
    def __init__(self, name, sex):
        self.name = name
        self.sex = sex

    # 当对象转化为str时调用 str()
    def __str__(self):
        return self.name + self.sex

    # 当对象被销毁时调用
    def __del__(self):
        del self.name
        del self.sex

    # 第一个方法
    def eat(self, food):
        print(self.name + '在吃' + food)

    # 第二个方法
    def sleep(self, hour):
        print(self.name + '睡了', hour, '个小时')


# 实例对象 方法的第一个参数self是不用手动传参的，是将方法的对象传递过去
tom = Person('张三', '男')
str1 = str(tom)
print(str1)
tom.eat('肯德基')
tom.sleep(8)
